package com.mkk.library.utils

import android.content.Context
import java.io.File

class CrashUtils(var context: Context):Thread.UncaughtExceptionHandler {

     private var mDefultHander:Thread.UncaughtExceptionHandler?=null
     private var infos:Map<String, String> = mapOf()

     init {
       //获取系统默认的UncaughtException处理器
       mDefultHander=Thread.getDefaultUncaughtExceptionHandler()
       //设置该CrashHandler为程序的默认处理器
       Thread.setDefaultUncaughtExceptionHandler(this)
    }

    /**
     * 当UncaughtException发生时会转入该函数来处理
     */
    override fun uncaughtException(t: Thread, e: Throwable) {
        if (e==null){

        }
    }

    /**
     * 自定义错误处理,收集错误信息 发送错误报告等操作均在此完成.
     * @param ex
     * @return true:如果处理了该异常信息;否则返回false.
     */
//    private fun  handerException(ex: Throwable):Boolean{
//        if (ex==null){
//            return true
//        }
//        if (ex is UnsatisfiedLinkError){
//            // 在Vivo x9手机上，用户在程序管理里面清除程序缓存、数据后会丢失so文件，导致程序报出UnsatisfiedLinkError异常，这里提示用户卸载后重新安装
//            val f1 = File("/data/app/com.hhdd.kada-1/lib/arm/libCryptoKada.so")
//            val f2 = File("/data/app/com.hhdd.kada-1/base.apk!/lib/armeabi/libCryptoKada.so")
//            val f3 = File("/system/lib/libCryptoKada.so")
//            val f4 = File("/vendor/lib/libCryptoKada.so")
//
//            if (!f1.exists() && !f2.exists() && !f3.exists() && !f4.exists()) {
////                ((IThread) ServiceProxyFactory.getProxy().getService(ServiceProxyName.THREAD_SERVICE))
////                        .postDaemonTask(new CrashToastRunnable("程序必要文件缺失，请卸载重新安装."), "CrashToastJob");
////                ActivityLifecycleHelper helper = new ActivityLifecycleHelper();
////                helper.finishAllActivity();
//                return true
//            }
//        }
//    }

}